home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 3 / Light ROM 3 - Disc 2.iso / programs / amiga / macromkr / adpromac.lha / $THUMBNAIL.adpro < prev   
Text File  |  1993-12-03  |  4KB  |  198 lines

  1. /*************************************************************************
  2.  
  3. THUMBNAIL CREATOR
  4.  
  5. VER. 2.0      UPDATE 5/12/93
  6.  
  7. *************************************************************************/
  8.  
  9. trace all
  10.  
  11. OPTIONS RESULTS
  12. NL = '0A'X
  13. SIGNAL_ON_BREAK_C
  14. address command 'setenv ADPRODIR RAM:'
  15. address command 'makedir RAM:Savers2'
  16. address command 'makedir RAM:Loaders2'
  17. address command 'makedir RAM:Operators2'
  18. address command 'copy ADPRO:Loaders2/(universal|iff|jpeg|backdrop) RAM:Loaders2'
  19. address command 'copy ADPRO:Savers2/(iff|jpeg) RAM:Savers2'
  20. address command 'copy ADPRO:Operators2/(scale|text_visual|color_to_grey|crop_image) RAM:Operators2'
  21.  
  22. ADDRESS "ADPro"
  23. STRING = '"MAKE A THUMBNAILS?"'
  24. OKAY2 STRING
  25. IF RC = 0 THEN EXIT
  26.  
  27. LFORMAT "UNIVERSAL"
  28. ADPRO_TO_FRONT
  29.  
  30. OD = "SYS:THUMBNAILS/"    /* CHANGE THE DH0: IN THIS LINE TO THE NAME OF YOUR HARD-DRIVE */
  31.  
  32. /*CALL OPT*/
  33.  
  34. TYPE = 'C'
  35. GETFN:
  36. GETSTRING 'SAVE_FILE_NAME?'
  37. FFNAME = ADPRO_RESULT
  38. IF RC ~= 0 THEN SIGNAL GETFN
  39.  
  40. GETF:
  41.      GETFILES '"SHIFT FOR MULTI FILES"'
  42.      IF RC ~= 0 THEN SIGNAL GETF
  43. STRING = 'OK TO PROCEED'
  44. OKAY2 STRING
  45. IF RC =0 THEN EXIT
  46. LIST = ADPRO_RESULT
  47. COUNT = WORDS(ADPRO_RESULT)
  48. I = 1
  49.      
  50. /* LOAD, TITLE & SCALE IMAGES */
  51. CALL GETPATH
  52. TSWITCH = 0
  53. DO WHILE (I <= COUNT)
  54.      CF = WORD(LIST,I)
  55.      LOAD CF
  56.      XSIZE
  57.      SIZE = ADPRO_RESULT 
  58.      IF TSWITCH = 0 THEN CALL SETTEXT
  59.  
  60. /* SCALE DOWN */
  61.      ABS_SCALE 128 80
  62.      OPERATOR 'TEXT_VISUAL' SET_FONT_SIZE 11
  63.      CALL CLEAN(CF)
  64.      OPERATOR 'TEXT_VISUAL' SET_TEXT_STYLE 2
  65.      OPERATOR 'TEXT_VISUAL' RENDER_TYPE OUTLINE
  66.      OPERATOR 'TEXT_VISUAL' SET_COLORS 0 0 0
  67.      OPERATOR 'TEXT_VISUAL' DRAW 
  68.      OPERATOR 'TEXT_VISUAL' RENDER_TYPE MIX
  69.      OPERATOR 'TEXT_VISUAL' SET_TEXT_STYLE 0
  70.      OPERATOR 'TEXT_VISUAL' SET_COLORS 255 255 255
  71.      OPERATOR 'TEXT_VISUAL' CENTER_XOFFSET
  72.      OPERATOR 'TEXT_VISUAL' DRAW 
  73.      OPERATOR 'CROP_IMAGE' 128 80 0 0
  74.      SF = "RAM:TEMP"||I
  75.      SFORMAT "JPEG"
  76.      SAVE SF RAW
  77.      I = I + 1
  78. END
  79.  
  80. I = 1
  81. J = 1
  82. F = 1
  83.  
  84. DO WHILE (I <= COUNT)
  85.      XPOS = 0
  86.      YPOS = 0
  87.      K = 1
  88.      CALL BACKDROP
  89.      DO WHILE (J <= 25) & (I <= COUNT)
  90.                DO WHILE (K <= 5) & (I <= COUNT)
  91.                CF = 'RAM:TEMP'||I
  92.                X = 128 * XPOS
  93.                Y = 80 * YPOS
  94.                LOAD CF X Y 100
  95.                XPOS = XPOS + 1
  96.                K = K + 1
  97.                J = J + 1
  98.                ADDRESS COMMAND 'DELETE RAM:TEMP'I
  99.                ADDRESS "ADPro"
  100.                I = I + 1
  101.           END
  102.           YPOS = YPOS + 1
  103.           K = 1
  104.           XPOS = 0
  105.      END
  106.         J = 1
  107. IF TYPE = 'C' THEN CALL COLOR
  108. ELSE IF TYPE = 'G' THEN CALL GRAY
  109.  
  110. END
  111.  
  112. ADDRESS COMMAND 'copy SYS:THUMBNAILS/STORE/blank.info SYS:ThumbnailS/'||FFNAME||'.info'
  113. address command 'delete ram:operators2 ALL'
  114. address command 'delete ram:loaders2 ALL'
  115. address command 'delete ram:savers2 ALL'
  116.  
  117. EXIT
  118.  
  119. GRAY:
  120. OPERATOR "COLOR_TO_GRAY"
  121. SFORMAT "IFF"
  122. DITHER 6
  123. DITHER_AMOUNT 
  124. RENDER_TYPE 16
  125. SCREEN_TYPE 3
  126. EXECUTE
  127. IF COUNT <= 25 THEN SF = OD||FFNAME
  128. ELSE SF = OD||FFNAME||F
  129. F = F + 1
  130. SAVE SF "IMAGE"
  131. RETURN
  132.  
  133. COLOR:
  134.  
  135. SFORMAT "IFF"
  136. DITHER 6
  137. DITHER_AMOUNT 25
  138. RENDER_TYPE HAM8
  139. SCREEN_TYPE 3
  140. EXECUTE
  141. IF COUNT <= 25 THEN SF = OD||FFNAME
  142. ELSE SF = OD||FFNAME||F
  143. F = F + 1
  144. SAVE SF "IMAGE"
  145. RETURN
  146.  
  147.  
  148. BACKDROP:
  149.      LFORMAT 'BACKDROP'
  150.      LOAD "X" 640 400 COLOR 0 0 0
  151.      IF RC ~= 0 THEN EXIT
  152.      LFORMAT 'UNIVERSAL'
  153. RETURN
  154. Clean: procedure  /* Extract file name from full file specification */
  155.    ARG fullfile
  156.    c = lastpos("/",fullfile)
  157.    if c = 0 then c = lastpos(":",fullfile)
  158.    IF COUNT > 1 THEN WorkingFile = LEFT(WorkingFile,(LENGTH(WorkingFile)-1)) 
  159.    OPERATOR 'TEXT_VISUAL' STRING substr(fullfile,c+1)
  160.    RETURN 
  161.  
  162.  
  163. GETPATH:
  164.      PATH = WORD(LIST,1)
  165.      C = LASTPOS("/",PATH)
  166.      IF C = 0 THEN C = LASTPOS(":",PATH)
  167.      OrigDir = left(PATH,C)
  168. RETURN
  169.  
  170. OPT:
  171. STRING = '  TYPE OF THUMBNAIL' || NL
  172. STRING = STRING || '   <OK> FOR B & W' || NL
  173. STRING = STRING || ' <CANCEL> FOR COLOR '
  174. OKAY2 STRING
  175. IF RC ~= 0 THEN TYPE = 'G'
  176. ELSE TYPE = 'C'
  177. RETURN
  178.  
  179. SETTEXT:
  180.      OPERATOR 'TEXT_VISUAL' FONT_DIR "SYS:fonts"
  181.      OPERATOR 'TEXT_VISUAL' FONT_NAME "TOPAZ"
  182.      OPERATOR 'TEXT_VISUAL' SET_YOFFSET 5
  183.      OPERATOR 'TEXT_VISUAL' TEXT_HANDLE LEFT
  184.      OPERATOR 'TEXT_VISUAL' SET_RENDER 100
  185.      OPERATOR 'TEXT_VISUAL' SET_SATURATION 100
  186.      OPERATOR 'TEXT_VISUAL' SET_TINT 100
  187.      OPERATOR 'TEXT_VISUAL' EMBOSS_DIRECTION OFF
  188.      OPERATOR 'TEXT_VISUAL' CENTER_XOFFSET
  189.  
  190. TSWITCH = 1
  191. RETURN
  192.  
  193. BREAK_C:
  194. EXIT
  195.  
  196.  
  197.  
  198.